package iso2.dominio;

import iso2.persistencia.ConexionesOcupadasException;
import iso2.persistencia.FPArticulo;

import java.sql.SQLException;

public class Articulo {
	private int referencia;
	private String nombre;
	private double precio;
	private String descripcion;
	private String categoria;
	private String imagen;
	private int cantidad;
	private boolean alta;
	
	public Articulo(int referencia, String nombre, double precio, String descripcion, String categoria,
			String imagen, int cantidad, boolean alta) {
		this.referencia = referencia;
		this.nombre = nombre;
		this.precio = precio;
		this.descripcion = descripcion;
		this.categoria = categoria;
		this.imagen = imagen;
		this.cantidad = cantidad;
		this.alta = alta;
	}
	
	public Articulo(int referencia)
	{
		this(referencia, "", 0, "", "", "", 0, false);
	}

	public int getReferencia() {
		return referencia;
	}
	public void setReferencia(int referencia) {
		this.referencia = referencia;
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public double getPrecio() {
		return precio;
	}
	public void setPrecio(double precio) {
		this.precio = precio;
	}
	
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	public String getCategoria() {
		return categoria;
	}
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public String getImagen() {
		return imagen;
	}
	public void setImagen(String imagen) {
		this.imagen = imagen;
	}
	
	public int getCantidad() {
		return cantidad;
	}
	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}
	
	public boolean isAlta() {
		return alta;
	}
	public void setAlta(boolean alta) {
		this.alta = alta;
	}
	
	public void insertArticulo() throws SQLException, ConexionesOcupadasException
	{
		FPArticulo.insertArticulo(this);
	}
	
	public void modificarArticulo() throws SQLException, ConexionesOcupadasException
	{
		FPArticulo.modificarArticulo(this);
	}
	
	public void buscarArticulo() throws SQLException, ConexionesOcupadasException, ArticuloInvalidoException
	{
		Articulo a = FPArticulo.buscarArticulo(this.referencia);
		
		this.nombre = a.getNombre();
		this.precio = a.getPrecio();
		this.descripcion = a.getDescripcion();
		this.categoria = a.getCategoria();
		this.imagen = a.getImagen();
		this.cantidad = a.getCantidad();
		this.alta = a.isAlta();
	}
}